package cn.ainit.bj.flow;

import java.util.List;
import java.util.Map;

import cn.ainit.bj.flow.entity.FlowNode;
import cn.ainit.sys.menu.SysFunctions;

public interface BjFlowDao {
	/**
	 * 
	 * @param nodeId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-4-9 上午10:13:20
	 */
	FlowNode getDsIdForNode(String nodeId) throws Exception;
	 /**
	  * 执行存储过程 各种判断
	  * @param manageId  flowManager 的主键Id
	  * @return  返回一个标志位，得到这个单据Id是否真实存在
	  * @throws Exception
	  * @author wyang
	  * @date : 2014-4-9 上午10:16:48
	  */
	 String execjudgenode(String manageId,String dsId,String uid) throws Exception;
	 /**
	 * 执行sql返回List
	 * @param sql
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-4-16 下午02:19:22
	 */
	List execSql(String sql) throws Exception;
	
	/***
	 * 根据dsID找到对应的sys_function中的url
	 * @param dsid
	 * @return
	 * @author cff
	 * @throws Exception
	 */
	SysFunctions getSysFun(String dsid) throws Exception;
	/**
	 * 根据一个managerId 查找父环节是否执行
	 * @param manageId
	 * @return
	 * @throws Exception
	 * @author wyy
	 * @date 2014-8-27 下午02:57:48
	 */
	String execProcForP(String manageId) throws Exception;
	/**
	 * 根据managerID查找某个bs_flowManager
	 * @param manageId
	 * @return
	 * @throws Exception
	 * @author wyy
	 * @date 2014-8-29 下午06:01:51
	 */
	List<Map<String, Object>> getFlowManager(String manageId) throws Exception;
	/**
	 * 根据Id查找bs_flowNode数据
	 * @param nodeId
	 * @return
	 * @throws Exception
	 * @author wyy
	 * @date 2014-8-29 下午06:11:39
	 */
	List<Map<String,Object>> getNodeById(String nodeId) throws Exception;
	List<Map<String, Object>> getMapInfo(String sql);
	/***
	 * 数据挖掘超链接得到对应的id
	 * @param dsid
	 * @param djid
	 * @param colnName
	 * @return
	 * @throws Exception
	 */
	String  getAHrefPkValue(String dsid,String djid,String colnName) throws Exception;
}
